//  redux react-redux redux-thunk  及其原理
//  react-router 

//  高阶组件就是一个函数接收一个组件作为参数 然后返回一个新组件
//  高阶组件一般用于传递参数
//  scoped 原理：行内属性选择器、
//  脚手架搭建的项目支持sass  但是需要单独安装包
import React from 'react';
import ReactDOM from 'react-dom';
// import './css/home.module.css'
import qqq from './css/home.module.scss'
import './css/user.module.less'
console.log(qqq)
class App extends React.Component {

  render() {
    return <div className={qqq.box} id={qqq.qq} style={{ border: '1px solid' }}>
      hahah
      </div>;
  }
}

/**
function connect(Com) {
  return function Temp() {
    return <>
      <Com qqq={123} />
    </>
  }
} */

function connect(f1, f2) {
  return function qqq(Com) {
    return class Temp extends React.Component {
      render() {
        return <>
          <Com {...f1()} {...f2()} />
        </>
      }
    }
  }
}
App = connect(() => {
  return {
    qq: 1,
    ww: 2
  }
}, () => {
  return {
    fn() { },
    fn2() { }
  }
})(App)

ReactDOM.render(<App />, document.getElementById('root'))